package Z006ClassAndObject.CO0013MeiJu;

public enum Season {
    SPRING,SUMMER,AUTUMN,WINTER
}


/**
 * enum 的全称为 enumeration， 是 JDK 1.5 中引入的新特性。
 * 在Java中，被 enum 关键字修饰的类型就是枚举类型。形式如下：
 *       enum Color { RED, GREEN, BLUE }
 * 如果枚举不添加任何方法，枚举值默认为从0开始的有序数值。
 * 以 Color 枚举类型举例，它的枚举常量依次为 RED：0，GREEN：1，BLUE：2。
 * 枚举的好处：可以将常量组织起来，统一进行管理。
 * 枚举的典型应用场景：错误码、状态机等。
 *
 * 枚举类型的本质
 * 尽管 enum 看起来像是一种新的数据类型，事实上，enum是一种受限制的类，并且具有自己的方法。
 * 创建enum时，编译器会为你生成一个相关的类，这个类继承自 java.lang.Enum。
 * java.lang.Enum类声明
 * public abstract class Enum<E extends Enum<E>>
 *         implements Comparable<E>, Serializable { ... }
 *         
 * 枚举的方法
 * 1.在enum中，提供了一些基本方法：
 * 2.values()：返回 enum 实例的数组，而且该数组中的元素严格保持在 enum 中声明时的顺序。
 * 3.name()：返回实例名。
 * 4.ordinal()：返回实例声明时的次序，从0开始。
 * 5.getDeclaringClass()：返回实例所属的 enum 类型。
 * 6.equals() ：判断是否为同一个对象。
 * 7.可以使用 == 来比较enum实例。
 * 8.此外，java.lang.Enum实现了Comparable和 Serializable 接口，所以也提供 compareTo() 方法。
 */

